<template>
  <div class="header">
    <div class="header-left">
      <span class="iconfont back-icon">&#xe624;</span>
    </div>
    <div class="header-input">
      <span class="iconfont">&#xe632;</span>
      输入城市/景点/游玩主题
    </div>
    <router-link to="/city">
      <div class="header-right">
        <!-- this.$store.state之所以能全局使用是在main.js中设置了 -->
        {{this.city}}
        <span class="iconfont arrow-icon">&#xe62d;</span>
      </div>
    </router-link>
  </div>
</template>

<script>
import { mapState } from 'vuex'
export default {
  name: 'HomeHeader',
  computed: {
    ...mapState(['city'])// mapState是指把vuex里面的数据映射到该组件的computed计算属性里
  }
}
</script>
<!-- stylus是css的预处理包，即可以将代码处理成css -->
<!-- scoped的作用为此css中header只对此页面里的class=header有用 -->
<!-- 由于使用stylus，所以写法与css不一致 -->
<!-- dispaly:flex是一种布局方式，弹性布局 -->
<!-- flex=1可以实现三个盒子均分区域 -->
<!-- @import：在样式中引入样式必须用@ -->
<!-- rem*font-size=px -->
<!-- 在build文件夹中webpack.base中可以别名文件夹路径 -->
<style lang="stylus" scoped>
@import '~styles/varibles.styl'
.header
    touch-action: pan-y
    display: flex
    height: $headerHeight
    line-height: $headerHeight
    width: 100%
    color: #ffffff
    background-color: $bgColor

    .header-left
        width: $headerHeight
        float: left
        .back-icon
            text-align: center
            font-size: .4rem
    .header-input
        flex: 1
        background-color: #fff
        color: #ccc
        line-height: .64rem
        height: .64rem
        padding-left: .2rem
        box-sizing: border-box
        margin-top: .1rem
        border-radius: .1rem
    .header-right
        color: #fff
        min-width: 1.04rem
        padding: 0 .1rem
        float: right
        text-align: center
        .arrow-icon
            font-size: .24rem
            margin-left: -.04rem
</style>
